package com.xxc.hs.db;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class TraceabilityDBHelper extends SQLiteOpenHelper {
    // 数据库名称和版本
    private static final String DB_NAME = "traceability_db";
    private static final int DB_VERSION = 1;

    // 表名
    public static final String TABLE_TRACE = "trace_info";

    // 表字段
    public static final String COLUMN_ID = "id";
    public static final String COLUMN_NAME = "name";
    public static final String COLUMN_PHONE = "phone";
    public static final String COLUMN_RESPONSIBLE = "responsible";
    public static final String COLUMN_LOCATION = "location";
    public static final String COLUMN_IMAGE_PATH = "image_path";
    public static final String COLUMN_QR_CODE = "qr_code";
    public static final String COLUMN_TRACE_INFO = "trace_info";

    public TraceabilityDBHelper(Context context) {
        super(context, DB_NAME, null, DB_VERSION);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        // 创建溯源信息表
        String createTableSQL = "CREATE TABLE " + TABLE_TRACE + "("
                + COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT,"
                + COLUMN_NAME + " TEXT NOT NULL,"
                + COLUMN_PHONE + " TEXT,"
                + COLUMN_RESPONSIBLE + " TEXT,"
                + COLUMN_LOCATION + " TEXT,"
                + COLUMN_IMAGE_PATH + " TEXT,"
                + COLUMN_QR_CODE + " TEXT,"
                + COLUMN_TRACE_INFO + " TEXT"
                + ")";
        db.execSQL(createTableSQL);

        // 插入一些测试数据
        insertTestData(db);
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // 如果表存在则删除
        db.execSQL("DROP TABLE IF EXISTS " + TABLE_TRACE);
        // 重新创建表
        onCreate(db);
    }

    // 插入测试数据
    private void insertTestData(SQLiteDatabase db) {

        String name1 = "清江生态水产养殖场";
        String phones1 = "13800138001";
        String responsibles1 = "陈建军";
        String locations1 = "湖北省仙桃市";
        String traceInfo1 = "时间: 2025-01-01\n 投喂记录: 饲料类型：黄鳝专用配合饲料（蛋白 42%），投喂量：20kg，方式：机械投喂\n 用药记录：药品：二氧化氯，目的：清塘消毒，剂量：0.5ppm，方式：全池泼洒，休药期\n " +
                "环境日志： 水温：21℃，pH：7.2，溶氧：5.5mg/L，氨氮：0.15mg/L，水质：清澈\n 检测报告：项目：苗种入池前消毒效果检测，结果：体表寄生虫阴性，检测机构：XX 县水产站，结论：可放苗";


        String name2 = "洪湖渔业有限公司";
        String phones2 = "13543216789";
        String responsibles2 = "王建国";
        String traceInfo2 = "时间: 2025-01-10\n 投喂记录: 饲料类型：饲料类型：鲜活蚯蚓（消毒处理），投喂量：15kg，方式：人工撒投 \n 用药记录：药品：硫酸铜 + 硫酸亚铁（5:2），目的：杀灭车轮虫，剂量：0.7ppm，休药期：15 天\n " +
                "环境日志： 水温：20℃，pH：6.9，溶氧：4.8mg/L，氨氮：0.2mg/L，水质：轻微浑浊 \n 检测报告：项目：项目：水质重金属（铅、镉），结果：铅＜0.05mg/L，镉＜0.01mg/L，符合国标";


        String name3 = "江淮水产合作社";
        String phones3 = "13400134006";
        String responsibles3 = "李卫东";
        String traceInfo3 = "时间: 2025-01-20\n 投喂记录: 饲料类型：配合饲料 + 鱼糜（20%），投喂量：25kg，方式：混合投喂\n 用药记录：药品：生石灰，目的：调节水质，剂量：20ppm，方式：化水泼洒，休药期:-\n " +
                "环境日志： 水温：19℃，pH：7.3，溶氧：5.0mg/L，氨氮：0.18mg/L，水质：良好\n 检测报告：项目：苗种活力检测，结果：应激反应强烈，游动速度达标，结论：健康";


        String traceInfo4 = "时间: 2025-02-01\n 投喂记录: 饲料类型：营养强化料，投喂量：28kg，方式：机械投喂（春节前增投）\n 用药记录：药品：维生素 C，目的：增强免疫力，剂量：每 kg 饲料 5g，方式：拌料\n " +
                "环境日志： 水温：18℃，pH：7.1，溶氧：5.2mg/L，氨氮：0.15mg/L，水质：正常\n 检测报告：水体微生物检测，结果：大肠杆菌＜100CFU/mL，结论：安全";

        String traceInfo5 = "时间: 2025-02-15\n 投喂记录: 饲料类型：冰鲜杂鱼（绞碎），投喂量：20kg，方式：人工混合投喂 \n 用药记录：药品：氟苯尼考，目的：防治肠炎，剂量：每 kg 饲料 5g，休药期：20 天\n " +
                "环境日志：水温：22℃，pH：7.5，溶氧：5.3mg/L，氨氮：0.2mg/L，水质：优\n 检测报告：项目：项目：药物残留预检测，结果：氟苯尼考未检出，结论：符合休药期管理";


        String traceInfo6 = "时间: 2025-03-01\n 投喂记录: 饲料类型：配合饲料（粒径 3mm），投喂量：30kg，方式：机械投喂\n 用药记录：药品：亚甲基蓝，目的：治疗水霉病，剂量：2ppm，休药期：10 天\n " +
                "环境日志： 水温：25℃，pH：7.4，溶氧：5.5mg/L，氨氮：0.1mg/L，水质：优\n 检测报告：项目：成鳝生长指标检测，结果：平均体重 50g / 尾，生长率达标";


        String traceInfo7 = "时间: 2025-03-10\n 投喂记录: 饲料类型：配合饲料 + 蚯蚓（3:1），投喂量：32kg，方式：混合投喂\n 用药记录：EM 菌，目的：调节肠道，剂量：每 kg 饲料 2g，方式：拌料\n " +
                "环境日志：水温：26℃，pH：7.6，溶氧：5.2mg/L，氨氮：0.15mg/L，水质：良好\n 检测报告：项目：水质 pH / 溶氧动态监测，结果：指标稳定在适宜范围";


        String traceInfo8 = "时间: 2025-03-20\n 投喂记录: 饲料类型：配合饲料，投喂量：35kg，方式：机械投喂（水温回升后增量）\n 用药记录：药品：过硫酸氢钾，目的：改良底质，剂量：1ppm，方式：全池泼洒\n " +
                "环境日志：水温：28℃，pH：7.8，溶氧：4.8mg/L，氨氮：0.2mg/L，水质：溶氧偏低\n 检测报告：项目：底质有害物质检测，结果：亚硝酸盐＜0.1mg/L，硫化物未检出";


        String traceInfo9 = "时间: 2025-04-01\n 投喂记录: 饲料类型：高蛋白配合饲料（45%），投喂量：38kg，方式：机械投喂\n 用药记录：药品：聚维酮碘，目的：预防出血病，剂量：0.5ppm，休药期：7 天\n " +
                "环境日志： 水温：27℃，pH：7.5，溶氧：5.4mg/L，氨氮：0.18mg/L，水质：正常\n 检测报告：项目：苗种细菌感染检测，结果：嗜水气单胞菌阴性";


        String traceInfo10 = "时间: 2025-04-10\n 投喂记录: 饲料类型：鲜活蝇蛆（消毒），投喂量：20kg，方式：人工撒投\n 用药记录：药品：阿苯达唑，目的：驱毛细线虫，剂量：每 kg 饲料 1g，休药期：15 天\n " +
                "环境日志： 26℃，pH：7.3，溶氧：5.3mg/L，氨氮：0.15mg/L，水质：优\n 检测报告：项目：寄生虫镜检，结果：鳃丝、肠道无寄生虫卵";


        String traceInfo11 = "时间: 2025-04-20\n 投喂记录: 配合饲料，投喂量：40kg，方式：机械投喂（成鳝期）\n 用药记录：磺胺嘧啶，目的：治疗肠炎，剂量：每 kg 饲料 10g（首剂），休药期：20 天\n " +
                "环境日志： 水温：28℃，pH：7.4，溶氧：5.0mg/L，氨氮：0.2mg/L，水质：良好\n 检测报告：项目：成鳝上市前药残检测，结果：磺胺类残留＜0.01mg/kg";


        String traceInfo12 = "时间: 2025-05-01\n 投喂记录: 饲料类型：配合饲料 + 鱼浆（1:1），投喂量：42kg，方式：混合投喂\n 用药记录：药品：二氧化氯，目的：定期消毒，剂量：0.3ppm，休药期：5 天\n " +
                "环境日志： 水温：29℃，pH：7.6，溶氧：5.2mg/L，氨氮：0.15mg/L，水质：优\n 检测报告：项目：水质农药残留检测，结果：孔雀石绿、氯霉素未检出";


        String traceInfo13 = "时间: 2025-05-10\n 投喂记录: 饲料类型：配合饲料，投喂量：45kg，方式：机械投喂（高峰期）\n 用药记录：药品：维生素 E，目的：增强抗应激，剂量：每 kg 饲料 3g，方式：拌料\n " +
                "环境日志： 水温：30℃，pH：7.5，溶氧：4.9mg/L，氨氮：0.2mg/L，水质：正常\n 检测报告：项目：成鳝肌肉营养检测，结果：蛋白质 18.2%，脂肪 1.5%";


        String traceInfo14 = "时间: 2025-05-20\n 投喂记录: 饲料类型：饲料类型：鲜活蚯蚓，投喂量：25kg，方式：人工投喂\n 用药记录：药品：高锰酸钾，目的：治疗烂鳃病，剂量：1ppm，休药期：10 天\n " +
                "环境日志： 水温：28℃，pH：7.3，溶氧：5.1mg/L，氨氮：0.18mg/L，水质：良好\n 检测报告：项目：鳃丝组织镜检，结果：柱状黄杆菌阴性";


        String traceInfo15 = "时间: 2025-06-01\n 投喂记录: 饲料类型：配合饲料，投喂量：40kg，方式：机械投喂（高温期减量）\n 用药记录：药品：过碳酸钠，目的：增加溶氧，剂量：1ppm，方式：全池泼洒\n " +
                "环境日志：水温：32℃，pH：7.4，溶氧：4.5mg/L，氨氮：0.25mg/L，水质：需注意增氧\n 检测报告：项目：高温期应激指标检测，结果：皮质醇水平正常";

        ;
        String traceInfo16 = "时间: 2025-06-10\n 投喂记录: 饲料类型：配合饲料（低蛋白暂养料），投喂量：35kg，方式：机械投喂\n 用药记录：药品：生石灰，目的：调节 pH，剂量：15ppm，方式：化水泼洒\n " +
                "环境日志： 水温：31℃，pH：7.2，溶氧：5.0mg/L，氨氮：0.2mg/L，水质：正常\n 检测报告：项目：上市前微生物检测，结果：大肠杆菌＜100CFU/g，沙门氏菌未检出";


        String traceInfo17 = "时间: 2025-06-15\n 投喂记录: 饲料类型：配合饲料，投喂量：38kg，方式：机械投喂\n 用药记录：药品：保肝利胆散，目的：保护肝脏，剂量：每 kg 饲料 5g，方式：拌料\n " +
                "环境日志： 水温：30℃，pH：7.5，溶氧：5.3mg/L，氨氮：0.15mg/L，水质：优\n 检测报告：项目：肝脏组织切片检测，结果：肝细胞结构正常";

        String traceInfo18 = "时间: 2025-06-20\n 投喂记录: 饲料类型：配合饲料，投喂量：35kg，方式：机械投喂（夏季）\n 用药记录：药品：氯制剂，目的：预防赤皮病，剂量：0.5ppm，休药期：7 天\n " +
                "环境日志： 32℃，pH：7.3，溶氧：4.8mg/L，氨氮：0.2mg/L，水质：良好\n 检测报告：项目：体表充血情况检测，结果：无赤皮病症状";


        String traceInfo19 = "时间: 2025-06-25\n 投喂记录: 饲料类型：配合饲料 + 多维素，投喂量：32kg，方式：拌料投喂\n 用药记录：药品：硫代硫酸钠，目的：降解亚硝酸盐，剂量：2ppm，方式：全池泼洒\n " +
                "环境日志： 31℃，pH：7.4，溶氧：5.1mg/L，氨氮：0.18mg/L，水质：正常\n 检测报告：项目：亚硝酸盐含量检测，结果：0.05mg/L（安全值内）";


        String traceInfo20 = "时间: 2025-07-01\n 投喂记录: 饲料类型：配合饲料，投喂量：30kg，方式：机械投喂（高温期）\n 用药记录：药品：免疫多糖，目的：提高免疫力，剂量：每 kg 饲料 5g，方式：拌料\n " +
                "环境日志： 水温：32℃，pH：7.5，溶氧：5.0mg/L，氨氮：0.15mg/L，水质：优\n 检测报告：项目：免疫指标检测，结果：血清溶菌酶活性正常";

        String[] names = {name1, name2, name3, name1, name2, name3, name1, name2, name3, name1, name2, name3, name1, name2, name3, name1, name2, name3, name1, name2};
        String[] phones = {phones1, phones2, phones3, phones1, phones2, phones3, phones1, phones2, phones3, phones1, phones2, phones3, phones1, phones2, phones3, phones1, phones2, phones3, phones1, phones2};
        String[] responsibles = {responsibles1, responsibles2, responsibles3, responsibles1, responsibles2, responsibles3, responsibles1, responsibles2, responsibles3, responsibles1, responsibles2, responsibles3, responsibles1, responsibles2, responsibles3, responsibles1, responsibles2, responsibles3, responsibles1, responsibles2};
        String[] locations = {locations1, locations1, locations1, locations1, locations1, locations1, locations1, locations1, locations1, locations1, locations1, locations1, locations1, locations1, locations1, locations1, locations1, locations1, locations1, locations1};
        String[] imagePaths = {"trace_1", "trace_2", "trace_3", "trace_4", "trace_5", "trace_6", "trace_7", "trace_8", "trace_9", "trace_1", "trace_2", "trace_3", "trace_4", "trace_5", "trace_6", "trace_7", "trace_8", "trace_9", "trace_1", "trace_2"};
        String[] qrCodes = {"one", "one", "one", "one", "one", "one", "one", "one", "one", "one", "one", "one", "one", "one", "one", "one", "one", "one", "one", "one"};
        String[] traceInfos = {traceInfo1, traceInfo2, traceInfo3, traceInfo4, traceInfo5, traceInfo6, traceInfo7, traceInfo8, traceInfo9, traceInfo10, traceInfo11, traceInfo12, traceInfo13, traceInfo14, traceInfo15, traceInfo16, traceInfo17, traceInfo18, traceInfo19, traceInfo20};


        for (int i = 0; i < names.length; i++) {
            String insertSQL = "INSERT INTO " + TABLE_TRACE + " ("
                    + COLUMN_NAME + ", "
                    + COLUMN_PHONE + ", "
                    + COLUMN_RESPONSIBLE + ", "
                    + COLUMN_LOCATION + ", "
                    + COLUMN_IMAGE_PATH + ", "
                    + COLUMN_QR_CODE + ", "
                    + COLUMN_TRACE_INFO + ")"
                    + " VALUES ('"
                    + names[i] + "', '"
                    + phones[i] + "', '"
                    + responsibles[i] + "', '"
                    + locations[i] + "', '"
                    + imagePaths[i] + "', '" // 直接存储资源名称
                    + qrCodes[i] + "', '"
                    + traceInfos[i] + "')";
            db.execSQL(insertSQL);
        }
    }
}